// 第一题：
// 实现一个将rgb转成16进制的方法
// 例子：rgb(255, 255, 255) ==> #ffffff
var rgb = 'rgb(13, 34, 255)';
// 将数值提取出来
function matchRGBValue(rgb) {
    // return res = rgb.match(/\d+/g);
    let arr = [];
    let res = rgb.match(/^(rgb|RGB)\(\s*(\d+),?\s*(\d+),?\s*(\d+),?\s*\)$/)
    console.log(res);
    arr.push(res[2]);
    arr.push(res[3]);
    arr.push(res[4]);
    return arr;
};
// console.log(matchRGBValue(rgb));

// 将数值转化成16进制并且拼接返回
let arr1 = [12, 34, 156];
function get16Str(arr) {
    var res = '#';
    // 第一种方法
    // arr.forEach(num => {
    //     res += (Number(num) > 16 ? '' : '0') + Number(num).toString(16);
    // });

    // 第二种方法
    // arr.forEach(numStr => {
    //     let temp = ('0' + Number(numStr).toString(16)).slice(-2);
    //     res += temp;
    // });

    // 第三种方法
    arr.forEach(numStr => {
        res += Number(numStr).toString(16).padStart(2, 0);
    });
    return res;
};
// console.log(get16Str(arr1));

function B216(rgb) {
    const arr = matchRGBValue(rgb);
    return get16Str(arr);
}

